package com.cqhilink.iot.jobstandardmanagement.dao.mapper;

import com.cqhilink.iot.jobstandardmanagement.facade.model.Menu;
import com.cqhilink.iot.jobstandardmanagement.facade.model.RoleMenu;
import com.cqhilink.iot.jobstandardmanagement.facade.model.Roles;

import java.util.List;
import java.util.Map;

/**
 * 角色菜单映射
 */
public interface RoleMenuMapper {
    /**
     * 角色菜单-删除
     * @param roleMenuId
     * @return
     */
    int deleteByPrimaryKey(String roleMenuId);
    /**
     * 角色菜单-插入
     * @param record
     * @return
     */
    int insert(RoleMenu record);
    /**
     * 角色菜单-插入
     * @param record
     * @return
     */
    int insertSelective(RoleMenu record);
    /**
     * 角色菜单-查询
     * @param roleMenuId
     * @return
     */
    RoleMenu selectByPrimaryKey(String roleMenuId);
    /**
     * 角色菜单-查询
     * @param seleMap
     * @return
     */
    RoleMenu selectByRoleMenu(Map seleMap);
    /**
     * 角色菜单-列表
     * @param seleMap
     * @return
     */
    List<RoleMenu> selectRoleMenus(Map seleMap);
    /**
     * 菜单-列表
     * @param require
     * @return
     */
    List<Menu> selectRequire(Map require);
    /**
     * 角色菜单-修改
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(RoleMenu record);
    /**
     * 角色菜单-修改
     * @param record
     * @return
     */
    int updateByPrimaryKey(RoleMenu record);


    /**
     * 根据角色 和 菜单Id 判断是否存在
     */
    RoleMenu isHasRoleMenu(RoleMenu record);


    int deleteByRoleId(RoleMenu record);

    /**
     *
     * @param roles 角色基本信息
     * @return
     */
    List<RoleMenu> findMenuRelatedList(Roles roles);

}